---
title: Profile Validation and Strictness
---

## Auto-Validation

By default, Memobase validates all new profile information before saving it. This process serves two main purposes:

1.  **Ensures Meaningful Data**: It filters out low-quality or irrelevant information that the LLM might generate, such as "User has a job" or "User did not state their name."
2.  **Maintains Schema Adherence**: It verifies that the extracted information aligns with the descriptions you have defined for your [profile slots](/features/profile/profile_desc).

However, if you find that too much information is being filtered out, you can disable this feature by setting `profile_validate_mode` to `false` in your `config.yaml`:

```yaml config.yaml
profile_validate_mode: false
```

Disabling validation will result in more data being saved, but it may also lead to less accurate or less relevant profile information.

## Strict Mode

By default, Memobase operates in a flexible mode, allowing the AI to extend your defined profile schema with new, relevant sub-topics it discovers during conversations. For example, if your configuration is:

```yaml config.yaml
overwrite_user_profiles:
    - topic: "work"
      sub_topics:
        - "company"
```

Memobase might generate a more detailed profile like this:

```json Possible Profile Output
{
    "work": {
        "company": "Google",
        "position": "Software Engineer",
        "department": "Engineering"
    }
}
```

This is often useful, as it's difficult to anticipate all the valuable information your users might provide. However, if you require that **only** the profile slots you have explicitly defined are saved, you can enable strict mode:

```yaml config.yaml
profile_strict_mode: true
```

In strict mode, Memobase will adhere rigidly to the schema in your `config.yaml`.

